#!usr/bin/env python
import random
#熟悉字符串的操作
'''
#获取指定长度(最多26个)的随机字母
@param length 需要的长度
@param splitStr 字符串之间的间隔符
@param isLower 是否小写
'''
def getRandChr(length,splitStr,isLower=False):
    maxLen = 26
    if length>maxLen:
        raise Exception("单次最多获取26个")
    ls1 = [i+65 for i in range(maxLen)] #先生成26字母的Unicode码
    ls2 = random.sample(ls1,length) #随机获取指定长度
    lsChar=[chr(ls2[i]) for i in range(len(ls2))] #根据Unicode码生存字母
    if isLower:
        lsChar = map(lambda x:x.lower(),lsChar) #转换为小写   
    return splitStr.join(lsChar)
#获取不限制长度的随机字母
def getMoreRandChr(length,splitStr,isLower=False):
    maxLen = 26
    ret = ""
    fix = ""
    while(length>maxLen):
        if ret!="":
            fix = splitStr
        ret = ret+fix+getRandChr(maxLen,splitStr,isLower)
        length -= maxLen
    if ret!="":
        fix = splitStr          
    ret = ret+fix+getRandChr(length,splitStr,isLower)
    return ret
    
print(getMoreRandChr(30,'-',True))

#把一个Unicode编码的内容变成中文;其实所有的编码字符串都可以这样转换
s = '\u65e0\u6548\u7684\u8bc1\u4e66'
b = s.encode('utf-8')
print('=',b.decode("utf-8"))

